/* 包含头文件 */
#include "quant.h"

/* 全局变量定义 */
const int STD_QUANT_TAB_LUMIN[64] = {
    16, 11, 10, 16, 24, 40, 51, 61,
    12, 12, 14, 19, 26, 58, 60, 55,
    14, 13, 16, 24, 40, 57, 69, 56,
    14, 17, 22, 29, 51, 87, 80, 62,
    18, 22, 37, 56, 68, 109,103,77,
    24, 35, 55, 64, 81, 104,113,92,
    49, 64, 78, 87, 103,121,120,101,
    72, 92, 95, 98, 112,100,103,99,
};

const int STD_QUANT_TAB_CHROM[64] = {
    17, 18, 24, 47, 99, 99, 99, 99,
    18, 21, 26, 66, 99, 99, 99, 99,
    24, 26, 56, 99, 99, 99, 99, 99,
    47, 66, 99, 99, 99, 99, 99, 99,
    99, 99, 99, 99, 99, 99, 99, 99,
    99, 99, 99, 99, 99, 99, 99, 99,
    99, 99, 99, 99, 99, 99, 99, 99,
    99, 99, 99, 99, 99, 99, 99, 99,
};

void init_quant_tables(int quality_scale) {

}

/* 函数实现 */
void quant_encode(int du[64], int qtab[64]) {
    int i; for (i=0; i<64; i++) du[i] /= qtab[i];
//    int i;
//    for (i=0; i<64; i++) {
//        int tmp = du[i] / qtab[i];
//        if(tmp > 32767) {
//            tmp = 32767;
//        } else if(tmp < -32767) {
//            tmp = -32767;
//        }
//        du[i] = tmp;
//    }
}

void quant_decode(int du[64], int qtab[64]) {
    int i; for (i=0; i<64; i++) du[i] *= qtab[i];
}







